<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 数组去重
        //    方法1   放入新的数组   
        //      拿原数组中的每一个值去判断在新数组中是否存在
        
        // var arr = [2,1,3,2,1,2,1,3,4,5,4] ;
        // var newArr = [] ;
        // // 2在新数组中是否存在   不存在就  push    [2]
        // // 1在新数组中是否存在    不存在就  push    [2,1]
        // // ...


        // for(var i = 0 ; i < arr.length ; i++) {
        //     // 判断arr[i] 在newArr中是否存在

        //     // if(newArr.includes(arr[i]) === false) {
        //     //     newArr.push(arr[i]) ;
        //     // }


        //     // if(!newArr.includes(arr[i])) {
        //     //     newArr.push(arr[i]) ;
        //     // }

        //     // 判断不存在 就会返回-1
        //     // if(newArr.indexOf(arr[i]) === -1) {
        //     //     newArr.push(arr[i]) ;
        //     // }

        //     if(newArr.lastIndexOf(arr[i]) === -1) {
        //         newArr.push(arr[i]) ;
        //     }

        // }

        // console.log(newArr) ;



        // function noRepeat(arr) {
        //     var newArr = [] ;
        //     for(var v of arr) {
        //         if(newArr.indexOf(v) === -1) {
        //             newArr.push(v) ;
        //         }
        //     }
        //     return newArr ;
        // }


        // var res = noRepeat([2,1,3,2,1,2,1,3,4,5,4]) ;
        // console.log(res);












        // 方法2   把重复的删除
        //  拿第一个数出来比较，重复就删除
        //      拿2和后面所有的数进行比较
                
        //  拿第二数出来比较，重复就删除
        var arr = [2,1,3,2,1,2,1,3,4,5,4] ;


        // // 第一轮  删除与第一个数重复的数
        // for(var i = 1 ; i < arr.length ; i++) {
        //     if(arr[0] === arr[i]) {
        //         arr.splice(i , 1) ;
        //     }
        // }

        // console.log(arr);   // [2, 1, 3, 1, 1, 3, 4, 5, 4]   数组变了


        //  // 第er轮  删除与第er个数重复的数
        //  for(var i = 2 ; i < arr.length ; i++) {
        //     if(arr[1] === arr[i]) {
        //         arr.splice(i , 1) ;
        //         // 数组删除了一个之后，数组会塌陷
        //         i-- ;
        //     }
        // }

        // console.log(arr);     //   [2, 1, 3, 1, 3, 4, 5, 4]


        // 比较的轮数   最后一个值不需要拿来比较
        for(var i = 0 ; i < arr.length - 1 ; i++) {   // 比较的轮数，
            // 拿一个值与后面的进行比较
            for(var j = i + 1 ; j < arr.length ; j++) {   // 后面的数
                if(arr[i] === arr[j]) {
                    arr.splice(j , 1) ;
                    j-- ;
                }
            }
        }

    </script>
    
</body>
</html>